From 2bc8b75cab1fd44d3a1e3af21ed5dcdb02636ea8 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 26 Dec 2008 15:01:34 +0000 Subject: [PATCH] (dosified-file-name): New function. --- lisp/dos-fns.el | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el index edcebb1306a..c6de5b2868a 100644 --- a/lisp/dos-fns.el +++ b/lisp/dos-fns.el @@ -186,6 +186,25 @@ shell requires it (see `w32-shell-dos-semantics')." (dos-8+3-filename dir)) string)))))) +;; This is for the sake of standard file names elsewhere in Emacs that +;; are defined as constant strings or via defconst, and whose +;; conversion via `convert-standard-filename' does not give good +;; enough results. +(defun dosified-file-name (file-name) + "Return a variant of FILE-NAME that is valid on MS-DOS filesystems. + +This function is for those rare cases where `convert-standard-filename' +does not do a job that is good enough, e.g. if you need to preserve the +file-name extension. It recognizes only certain specific file names +that are used in Emacs Lisp sources; any other file name will be +returned unaltered." + (cond + ;; See files.el:dir-locals-file. + ((string= file-name ".dir-locals.el") + "_dir-locals.el") + (t + file-name))) + ;; See dos-vars.el for defcustom. (defvar msdos-shells) -- 2.30.2